package com.moli.iov.down.remote;

import com.moli.iov.down.model.dto.req.VehicleCommandDto;
import com.moli.iov.rest.RestResponse;

/**
 * <p>
 * 车辆命令业务
 * </p>
 *
 * @author zql
 * @since 2019/9/17 9:56
 */
public interface IVehicleCommandRemoteService {

  /**
   * 控车
   * @param vehicleCommandDto
   * @return
   */
  RestResponse sendCommand(VehicleCommandDto vehicleCommandDto);

  /**
   * 应答发送
   *
   * @param vin          唯一标识
   * @param command      命令
   * @param responseTag  应答标志
   * @param serialNumber 流水号
   * @return
   */
  RestResponse sendResponse(String vin, Byte command, Byte responseTag, byte[] serialNumber);

  /**
   * 升级命令
   * @param vehicleCommandDto
   * @return
   */
  RestResponse sendUpgrade(VehicleCommandDto vehicleCommandDto);
}
